package com.ply.utils;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * @author XiaoPan
 * date: 2022/1/15 13:43
 * <p>
 * action:  制定一些规则  判断 字符串
 */
public class RuleUtils {
    //用户name 规则  :只允许 字母 加 数字 注册 最少 6个 最大 12个
    private final static  Pattern namePattern = Pattern.compile("[a-zA-Z]+[a-zA-Z0-9]{5,11}");

    //充值 金额的 规则  不能 以零 开头 的 数字 可以是 1.00 数据
    private final static  Pattern amountPattern = Pattern.compile("[1-9][0-9]{0,5}(\\.[0-9]{1,2})?");

    //  购买 天数 必须是整数 这里还做了 调整 最大三位数  不能以 零开头 正整数
    private final static  Pattern positiveInteger = Pattern.compile("[1-9][0-9]{0,3}");


    /**
     * 用户名 判断规则
     * @param name 用户name
     */
    public static boolean userName(String name){
        return checkPattern(namePattern,name);
    }

    /**
     *  判断 充值金额的规则
     * @param amount 充值的 金额
     */
    public static boolean amountRule(Object amount){
        return checkPattern(amountPattern,amount.toString());

    }



    /**
     * 用户名 判断规则
     * @param name 用户name
     */
    public static boolean positiveIntegerRule(String name){
        return checkPattern(positiveInteger,name);
    }




    private static boolean checkPattern(Pattern p,String value){
        Matcher matcher = p.matcher(value);
        return matcher.matches();
    }
}
